package com.project.mapper;

import com.project.bean.UserBean;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface IUserMapper {
    /**
     * 根据账号密码登录，返回用户对象
     * @param userName 用户账户
     * @param userPwd 用户密码
     * @return 登录用户对象，如果登录失败，返回nul
     */
    public UserBean login(@Param("userName") String userName,
                          @Param("userPwd") String userPwd);

    /**
     * 根据表单信息进行动态条件查询用户管理信息
     * @return 用户集合
     */
    public List<UserBean> findAll();

    /**
     * 根据用户id查询用户信息
     * @param userId 用户id
     * @return 用户对象
     */
    public UserBean findById(Integer userId);

    /**
     *根据用户信息进行添加用户
     * 1、查询该用户是否存在，
     * 2、如果用户名不存在，添加一个用户，返回true。
     * 3、如果用户名存在，返回false；
     * @param user 用户对象
     * @return 返回成功与失败
     */
    public boolean add(UserBean user);

    /**
     * 根据用户id进行删除用户
     * @param userId 用户id
     */
    public void del(Integer userId);

    /**
     * 根据用户id，修改用户等级
     * @param userId 用户id
     * @param userGrade 新等级
     */
    public void update(@Param("userId") Integer userId,
                       @Param("userGrade") String userGrade);

    /**
     * 根据用户id,修改密码
     * @param userId 用户id
     * @param userPwd 新密码
     */
    public void updatePwd(@Param("userId") Integer userId,
                          @Param("userPwd") String userPwd);
}
